import os
import pandas as pd
import json

# 获取当前 Python 文件所在目录
current_dir = os.path.dirname(os.path.abspath(__file__))

# 输入的Excel文件路径
excel_file = os.path.join(current_dir, 'all_items.xlsx')  # 假设文件名为 all_items.xlsx

# 确保安装了 openpyxl
# df = pd.read_excel(excel_file)  # 如果没有 openpyxl 会抛出错误

# 读取 Excel 文件
try:
    df = pd.read_excel(excel_file)
except ImportError:
    print("缺少 openpyxl 模块，请先安装它：`pip install openpyxl`")
    exit()

# 创建一个字典来保存转换后的数据
items_dict = {}

# 遍历每一行数据
for index, row in df.iterrows():
    item_name = row['name']  # 假设Excel中有一个"名称"列
    item_data = {
        "texture": row['texture'],  # 纹理列
        "stackable": row['stackable'],  # 是否可堆叠列
        "type": row['type'],  # 类型列
        "weight": row['weight'],  # 重量列
        "sell_price": row['sell_price'],  # 售价列
        "description": row['description']  # 描述列
    }
    items_dict[item_name] = item_data

# 将字典转换为JSON格式
json_data = json.dumps(items_dict, indent=4)

# 输出JSON数据到文件
output_file = os.path.join(current_dir, 'item_db.json')
with open(output_file, 'w') as json_file:
    json_file.write(json_data)

print(f"转换完成，数据已保存为 {output_file}")
